#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include "pwmcontrol.h"

#include <QMainWindow>
#include <QRegExpValidator>
#include <QMessageBox>
#include <QDateTime>
#include <QTimer>
#include <QFontDatabase>
#include <QPalette>
#include <QLinearGradient>
#include <QPainter>
#include <QTcpSocket>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
    //设置
    void initWin();
    //设置套接字
    void setTcpSocket(QTcpSocket *socket);
private slots:
    void onConfirmClicked();// 确认按钮点击
    void onCancelClicked();// 取消按钮点击
    void onReadyRead();       // 接收服务器返回的数据
    // 解析服务器发送的 JSON 数据
    void paraServerJson(const QString &jsonStr);
    // 定时器触发时调用的槽函数，用于更新时间
    void updateTime();
    //弹出提示框样式
    void showMessage(const QString &title, const QString &text, QMessageBox::Icon icon);


private:
    Ui::MainWindow *ui;
    QTimer *timer; // 定时器对象
    QTcpSocket *tcpSocket;// 声明TCP套接字指针（用于发送数据）
    PwmControl* pwm;
};

#endif // MAINWINDOW_H
